package edu.bu.cs673b1s1p3.nextbus.map;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import org.jdesktop.swingx.mapviewer.GeoPosition;
import org.jdesktop.swingx.mapviewer.Waypoint;

import edu.bu.cs673b1s1p3.nextbus.service.routeconfig.Path;
import edu.bu.cs673b1s1p3.nextbus.service.routeconfig.RouteConfig;
import edu.bu.cs673b1s1p3.nextbus.service.routeconfig.Stop;

/**
 * @author Jimson
 */

public interface MapControlInterface {
	
	public abstract void createMapView();
	public abstract void setStop(GeoPosition stopPos);
	public abstract void addHomeWaypoint(Waypoint waypoint);
	public abstract void addWaypoint(Waypoint waypoint);
	public abstract void addWaypoint(Set<Waypoint> waypoints, List<Stop> stops);
	public abstract void drawRoute();
	public abstract void drawRoute(RouteConfig routeConfig, ArrayList<Path> paths);
	public abstract void getStopsNearHome();
	public abstract void addAllWaypointLabels(List<Stop> stops);
	public abstract void getAllOverlays();
	public abstract void clearOverlays();
	public abstract void setCenterPosition(GeoPosition geoPosition);
	public abstract void setCenterPosition(BigDecimal lat, BigDecimal lon);
	public abstract void setZoom(int zoom);

}
